package com.example.springioc.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;

/**
 * ClassName: BeanConfig
 * Package: IntelliJ IDEA
 * Description:
 *
 * @Author 谷京京
 * @Create 2023/11/4 17:33
 * @Version 1.0
 */
@Configuration
public class BeanConfig {
    //@bean传递参数
    //如果需要的bean的类型, 对应的对象只有一个时, 直接赋值, 如果有多个, 用名称对应赋值
    //@Bean修改bean的名称, @Bean("n1"), 此时, bean的名称就是n1了
    //一个bean可以有多个名字, 但是一个名字只能对应一个bean
    @Bean("n1")
    public String name() {
        return "zhangsan";
    }
    @Bean({"name2", "n2"})
    public String name2() {
        return "wangwu";
    }
    @Bean("ui1")
    public UserInfo userInfo(String n1) {
        UserInfo userInfo = new UserInfo();
        userInfo.setId(1);
        userInfo.setAge(11);
        userInfo.setName(n1);
        return userInfo;
    }
//    @Primary
    @Bean({"userInfo2", "ui2"})
    public UserInfo userInfo2(String n2) {
        UserInfo userInfo = new UserInfo();
        userInfo.setId(2);
        userInfo.setAge(22);
        userInfo.setName(n2);
        return userInfo;
    }

}
